#include <iostream>
using namespace std;


// template <class A, class B> void tmp_print(const A& a); // does not work if class B presents in the parameters list
template <class A> void tmp_print(const A& a); // {}

template <> void tmp_print<int>(const int & i) {
	cout << "Integer: \t" << i << endl;
}



template <> void tmp_print<char>(const char & c) {
	cout << "Char: \t" << c << endl;
}


int main(){

	int i=10;
	char c='a';
	tmp_print(i);
	tmp_print(c);
	return 0;
}
